home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / FireMan.swf / scripts / frame_1055 / PlaceObject2_455_131 / CLIPACTIONRECORD onClipEvent(enterFrame).as next >
Text File  |  2008-09-12  |  6KB  |  251 lines

  1. onClipEvent(enterFrame){
  2.    function hitPlatforms()
  3.    {
  4.       if(mapa.hitTest(_X - 11,_Y,true) || mapa.hitTest(_X + 11,_Y,true))
  5.       {
  6.          falling = attack = false;
  7.          idle = true;
  8.          currenthigh = 0;
  9.          landing.start();
  10.          j = -15;
  11.          while(j <= 15)
  12.          {
  13.             if(mapa.hitTest(_X - 11,_Y + j,true) && !mapa.hitTest(_X - 11,_Y + j - 1,true) || mapa.hitTest(_X + 11,_Y + j,true) && !mapa.hitTest(_X + 11,_Y + j - 1,true))
  14.             {
  15.                break;
  16.             }
  17.             j++;
  18.          }
  19.          _Y = _Y + j - heroe.vscrollspeed;
  20.          j = vertical = 0;
  21.       }
  22.       return undefined;
  23.    }
  24.    function roof()
  25.    {
  26.       var u = techo = false;
  27.       if(mapa.hitTest(_X + 7,_Y - 48,true))
  28.       {
  29.          u = techo = true;
  30.       }
  31.       return u;
  32.    }
  33.    function setScale()
  34.    {
  35.       if(preattack)
  36.       {
  37.          if(_X <= heroe._x)
  38.          {
  39.             _xscale = Math.abs(_xscale);
  40.          }
  41.          else
  42.          {
  43.             _xscale = -1 * Math.abs(_xscale);
  44.          }
  45.       }
  46.    }
  47.    function setSpeed()
  48.    {
  49.       if(attack)
  50.       {
  51.          if(_xscale > 0)
  52.          {
  53.             return SPEED;
  54.          }
  55.          return -1 * SPEED;
  56.       }
  57.    }
  58.    function wallizq()
  59.    {
  60.       return mapa.hitTest(_X - 23,_Y - 24,true);
  61.    }
  62.    function wallder()
  63.    {
  64.       return mapa.hitTest(_X + 23,_Y - 24,true);
  65.    }
  66.    function Paredes()
  67.    {
  68.       if(wallder() && horizontal > 0)
  69.       {
  70.          horizontal = 0;
  71.          wall = true;
  72.       }
  73.       if(wallizq() && horizontal < 0)
  74.       {
  75.          horizontal = 0;
  76.          wall = true;
  77.       }
  78.    }
  79.    function doexplode()
  80.    {
  81.       myColor.setTransform(myColorNormal);
  82.       this.gotoAndStop("death");
  83.    }
  84.    function dorespawn()
  85.    {
  86.       currentdamage = 0;
  87.       currenthigh = 0;
  88.       hitted = false;
  89.       flashing = false;
  90.       timerdamage = 0;
  91.       death = false;
  92.       this.gotoAndStop("standing");
  93.       falling = true;
  94.       idle = attack = preattack = attacking = jump = rising = false;
  95.       horizontal = 0;
  96.       vertical = 2;
  97.       _X = xi;
  98.       _Y = _root.mapa._y - yi - heroe.vscrollspeed;
  99.       landing = new Sound();
  100.       landing.attachSound("sapolanding");
  101.    }
  102.    function drawframe()
  103.    {
  104.       if(idle)
  105.       {
  106.          this.gotoAndStop("standing");
  107.       }
  108.       if(attack)
  109.       {
  110.          this.gotoAndStop("jump");
  111.       }
  112.    }
  113.    xi -= heroe.scrollspeed;
  114.    _X = _X - heroe.scrollspeed;
  115.    _Y = _Y - heroe.vscrollspeed;
  116.    _visible = false;
  117.    hitable = this.hitTest(_root.mascara);
  118.    if(hitable)
  119.    {
  120.       _visible = true;
  121.       if(this.sprite.hotzone.hitTest(heroe.sprite.hotzone))
  122.       {
  123.          heroe.damage = 3;
  124.          heroe.hitted = true;
  125.       }
  126.       if(this.sprite.hotzone.hitTest(_parent.shoot1) && hitable)
  127.       {
  128.          hitted = true;
  129.          _root.shoot1.impact = true;
  130.          _root.hitted.start();
  131.       }
  132.       if(timerdamage == 0 && hitted)
  133.       {
  134.          timerdamage = FLASHTIME;
  135.          currentdamage += DAMAGE;
  136.       }
  137.       if(timerdamage > 0)
  138.       {
  139.          flashing = true;
  140.          timerdamage % 3 != 0 ? myColor.setTransform(myColorNormal) : myColor.setTransform(myColorTransform);
  141.          timerdamage--;
  142.       }
  143.       if(flashing && timerdamage == 0)
  144.       {
  145.          flashing = false;
  146.          myColor.setTransform(myColorNormal);
  147.          hitted = false;
  148.       }
  149.       if(currentdamage >= MAXDAMAGE)
  150.       {
  151.          myColor.setTransform(myColorTransform);
  152.          death = true;
  153.          delete landing;
  154.       }
  155.       if(death)
  156.       {
  157.          _root.shoot1.impact = false;
  158.          rising = falling = false;
  159.          doexplode();
  160.       }
  161.    }
  162.    if(!death)
  163.    {
  164.       if(idle)
  165.       {
  166.          horizontal = 0;
  167.          if(hitable)
  168.          {
  169.             attack = attacking = false;
  170.             idle = false;
  171.             preattack = true;
  172.             timer = DELAY;
  173.          }
  174.       }
  175.       if(preattack)
  176.       {
  177.          timer--;
  178.          if(!timer)
  179.          {
  180.             preattack = false;
  181.             attack = true;
  182.             timer = 3;
  183.          }
  184.       }
  185.       if(attack && !jump)
  186.       {
  187.          timer--;
  188.          if(!timer)
  189.          {
  190.             jump = true;
  191.          }
  192.       }
  193.       if(jump)
  194.       {
  195.          horizontal = setSpeed();
  196.          vertical = vforce * -1;
  197.          rising = true;
  198.          jump = false;
  199.       }
  200.       if(rising)
  201.       {
  202.          if(roof())
  203.          {
  204.             falling = true;
  205.             rising = false;
  206.          }
  207.          Paredes();
  208.          if(currenthigh < MAXJUMP)
  209.          {
  210.             if(currenthigh < vforcei)
  211.             {
  212.                vertical = - Math.abs(vforcei);
  213.             }
  214.             else
  215.             {
  216.                vertical = - Math.abs(vforce);
  217.             }
  218.             currenthigh += Math.abs(vertical);
  219.          }
  220.          else
  221.          {
  222.             vertical *= heroe.gravity;
  223.             currenthigh += Math.abs(vertical);
  224.             if(Math.abs(vertical) < 1)
  225.             {
  226.                falling = true;
  227.                rising = false;
  228.             }
  229.          }
  230.       }
  231.       if(falling)
  232.       {
  233.          Paredes();
  234.          hitPlatforms();
  235.          vertical = Math.abs(vertical) * heroe.accel;
  236.          if(vertical > heroe.MAXVERTICAL)
  237.          {
  238.             vertical = heroe.MAXVERTICAL;
  239.          }
  240.       }
  241.       _Y = _Y + vertical;
  242.       _X = _X + horizontal;
  243.       setScale();
  244.       drawframe();
  245.    }
  246.    else if(!_root.mascara.hitTest(xi,yi))
  247.    {
  248.       dorespawn();
  249.    }
  250. }
  251.